Дизъюнкция
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дано N неотрицательных целых чисел. Определите, можно ли с помощью дизъюнкции некоторых из них получить заданное натуральное число X.

Пояснение. Операция поразрядной дизъюнкции (поразрядного 'ИЛИ') над двумя целыми числами выполняется как логическое 'ИЛИ' над каждой парой соответствующих битов двоичной записи этих чисел. Например, , так как:

       10100
    ИЛИ
       01100
       =====
       11100

Входные данные

В первой строке входных данных записано натуральное число N. Во второй строке записано натуральное число X. Далее идут N неотрицательных целых чисел, каждое число в отдельной строке. Гарантируется, что ни одно из них не равно X.

Выходные данные

Если число X можно получить дизъюнкцией каких-то из заданных чисел, то выведите эти числа в любом порядке. Не обязательно использовать минимальное количество элементов. В случае нескольких верных ответов выведите любой. Если X получить нельзя, то выведите -1.

Система оценки

Подзадача 1 (до 60 баллов): 2 ≤N≤ 20; X и все входные числа не превышают 230- 1.

Подзадача 2 (до 20 баллов): 20 <N≤ 1000; X и все входные числа не превышают 215- 1.

Подзадача 3 (до 20 баллов): 1000 <N≤ 105; X и все входные числа не превышают 230- 1.

Примеры

Входные данные

    4
    29
    20
    12
    11
    17

Выходные данные

    20 12 17

Входные данные

    2
    15
    10
    10

Выходные данные

    -1

Примечание

В первом примере , во втором примере число 15 получить нельзя.